Date: Wed, 20 Nov 1996 23:37:18 GMT
Server: NCSA/1.4.1
Content-type: text/html
Last-modified: Mon, 11 Nov 1996 18:20:54 GMT
Content-length: 4602



<html>
<body bgcolor=white>
<title>Parallel Programming</title>

<h3>Parallel Programming</h3>
(Computer Science 424a/524a) <BR>
MWF 11.30 - 12.20<BR>
AKW 300
<P>
This course is taught by 
<!WA0><a href="http://www.cs.yale.edu/HTML/YALE/CS/Brochure/faculty/gelernter.html">Professor David Gelernter</a>
of the Computer Science Department at 
<!WA1><a href="http://www.cs.yale.edu/">Yale University</a>.

<h4>Contents</h4>
<UL>
<LI><!WA2><a href="#description">Course Description</a>
<LI><!WA3><a href="#syllabus">Syllabus</a>
<LI><!WA4><a href="#books">Books</a>
<LI><!WA5><a href="http://www.cs.yale.edu/homes/gelernter/424-linda.html">Cluster, Account and Linda Information</a>
<LI><!WA6><a href="http://www.cs.yale.edu/homes/gelernter/424-announce.html">Announcements</a> <i>(Last Updated: 11/11/96)</i>
<LI><!WA7><a href="#assignments">Assignments</a>
<LI><!WA8><a href="#final">Exams</a>
</UL>

<P><hr width=50% noshade><P>

<h3><a name="description">Course Description</a></h3>
<blockquote>
  Emergent programming styles for solving problems with a variety of
  parallel models.  Paradigms basic to the design of efficient
  parallel algorithms, methods of problem decomposition, models for
  evaluating program performance, and techniques for optimizing
  parallel compilers.  A wide variety of problems with programming
  exercises on Linda TS/Net, illustrating a general approach to 
  programming parallel machines.

</blockquote>

<b>Requirements</b>: 
3 programming assignments, midterm and final.
<P>

<b>Prerequisites</b>: 
Computer Science 323a.

<P><hr width=50% noshade><P>

<h3><a name="syllabus">Syllabus</a></h3>
The syllabus for the course in Fall 1996 is as follows:

<H5>Week of</H5>

<b>Sept 4</b>: Overview and logistics [W]; [PART I: BASIC PARALLEL
PROGRAMMING...]  intro to parallelism and coordination; basic
paradigms [F] (How, chaps 1, 2, except 2.6...)
<P>

<b>Sept 9</b>: basic paradigms; paradigm "discussion exercises"; Linda
(logic); basic distributed data structures; Linda: using the system.
(chaps 3,4)
<P>

<b>Sept 16</b>: basic approaches to a simple problem (primes finding)
(chap 5); agenda parallelism and db search... (chap 6...);
<P>

<b>Sept 25</b>: (no class Sept 23) result parallelism: string
comparison and matrix problems (chap 7);  a network program,
the data fusion problem and software architecture (chap 8 +
handout);
<P>

<b>Sept 30</b>: (asynchronous) data parallelism (handout);
<P>

<b>Oct 7</b>: adaptive parallelism (handout); Coordinated and distributed
applications; 
<P>

<b>Oct 14</b>: [PART II: THE CONTEXT AND UNDERPINNINGS OF PARALLEL
PROGRAMMING: ARCHITECTURE, LANGUAGE IMPLEMENTATION, OTHER SOFTWARE
MODELS...]  hardware platforms: multiprocessors and LANs (handout);
<P>

<b>Oct 21</b>: midterm (Fri)
<P>

<b>Oct 28</b>: implementation of Linda (shared memory, multiprocessors,
networks);
<P>


<b>Nov 4</b>: coordination models: operating system models; message passing
systems (CSP. PVM, MPI); parallel Fortrans (and parallelizing Fortran
compilers); systolic arrays; object-oriented programming and
parallelism;
<P>


<b>Nov 11</b>: [PART III: BIG TENT PARALLELISM: DISTRIBUTED APPS, INFORMATION
MANAGEMENT, THE NET]  big-picture coordination: the internet; web;
WAN applications; the "information superhighway," utopia, nirvana,
etc.  (handouts);
<P>

<b>Nov 18</b>:  programming the internet (Java, "JavaSpaces"; net-based 
information management apps (browsers, "Lifestreams");
<P>
 
<b>Dec 2</b>: figuring out the big picture: future of net languages and
net apps; where is the internet going?  What's the point, anyway?
<P>




<P><hr width=50% noshade><P>

<h3><a name="books">Books</a></h3>

<b>Required</b>:
N. Carriero and D. Gelernter, <i>How to Write Parallel Programs</i>,
(MIT Press: 1990).  
<P>

Additional reading from G. Almassi and A. Gottlieb, Highly Parallel
Computing, 2nd Ed. (Cummings: 1994), A. Tanenbaum, Computer Networks
(Prentice Hall), research papers, several recent dissertations, others.
<P>

<P><hr width=50% noshade><P>

<h3><a name="assignments">Assignments</a></h3>

<b>Assignment 1</b>:<BR>
Problems 1, 2 and 4 from Chapter 3 
[Returned Friday, October 18].<BR>
Click <!WA9><a href="http://www.cs.yale.edu/homes/gelernter/HW1">here</a> for instructions on how
to turn in this assignment.<BR>
<P>
<b>Assignment 2</b>:<BR>
Problems 5.5, 6.1, 6.2, due Friday, November 8.<BR>
Click <!WA10><a href="http://www.cs.yale.edu/homes/gelernter/HW2.html">here</a> for instructions on how to turn
in this assignment.<BR>
<P>

<P><hr width=50% noshade><P>

<h3><a name="final">Exams</a></h3>

<b>Midterm</b>: Monday, October 28.


<P><HR><P>
Teaching Assistant, Fall 1996: 
<!WA11><a href="http://www.cs.yale.edu/homes/freeman-elisabeth.html">Elisabeth Freeman</a> <BR>
<i>Last updated: September 24, 1996</i>
<P>

</body>
</html>

